/*
    测试call() Array.prototype.slice.call(demo)
        作用：让任意一个方法作为 demo 的方法使用
 */
const person = {
    name: 'person',
    test() {
        console.log(this.name);
        console.log("person")
    }
}
const man = {name: 'man'}
person.test.call(man);

/*
    slice 的基本实现原理
 */
slice = function (start, end) {
    start = start || 0;
    end = end || this.length;
    const arr = [];
    for (let i = start; i < end; i++) {
        arr.push(this[i]);
    }
    return arr;
}

console.log(slice.call(['11', '22']));

/*
    测试闭包
 */

i = 0

function a() {
    i++

    function aa() {
        // console.log(dep.id);
        console.log(i);
    }

    return aa
}

a()()
a()()

/*
  测试json
 */

const person2 ={'name':'xxx', 'age': '10'}
const jsonStr = JSON.stringify(person2);
const jsonStr2 = "{\"name\":\"age\":10}"
console.log(JSON.parse(jsonStr) instanceof Object);
// console.log(JSON.stringify(person2));